package pokpok.domaine;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import pokpok.dao.JoueurDAO;
import pokpok.dao.TournoiDAO;

import com.google.appengine.api.datastore.Key;

@PersistenceCapable
public class Resultat implements Identifiable {

	public Resultat(Key keyJoueur, Integer position, Integer nbRecaves,
			boolean addon, Integer gain) {
		super();
		this.keyJoueur = keyJoueur;
		this.position = position;
		this.nbRecaves = nbRecaves;
		this.addon = addon;
		this.gain = gain;
	}

	@PrimaryKey
	@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	private Key id;

	@Persistent
	private Key keyJoueur;
	@Persistent
	private Key keyTournoi;

	@Persistent
	private Integer position;
	@Persistent
	private Integer nbRecaves;
	@Persistent
	private boolean addon;
	@Persistent
	private Integer gain;

	public Key getId() {
		return id;
	}

	public Integer getPosition() {
		return position;
	}

	public Integer getNbRecaves() {
		return nbRecaves;
	}

	public boolean isAddon() {
		return addon;
	}

	public Integer getGain() {
		return gain;
	}

	public Key getKeyJoueur() {
		return keyJoueur;
	}

	public Key getKeyTournoi() {
		return keyTournoi;
	}

	public Joueur getJoueur() {
		JoueurDAO jDAO = new JoueurDAO();
		return jDAO.findById(keyJoueur);
	}

	public Tournoi getTournoi() {
		TournoiDAO tDAO = new TournoiDAO();
		return tDAO.findById(keyTournoi);
	}

	public void setKeyTournoi(Key keyTournoi) {
		this.keyTournoi = keyTournoi;
	}

}
